/*
 * Server.cpp
 *
 *  Created on: 17/06/2011
 *      Author: clau
 */

#include "Server.h"


using namespace std;

Server::Server() {
	this->setPid(getpid());

}

Server::~Server() {
	this->sharedMemoryServer.liberar();
	this->sharedMemoryClient.liberar();
}


void Server::escribirPid(){
  //Escribo el pid del Server en la memoria compartida que crea.
	this->sharedMemoryServer.crear((char*)RUTA_ARCHIVO_CONFIGURACION_SERVER,'K',IPC_CREAT);
	this->sharedMemoryServer.escribir(this->getPid());
//	this->sharedMemoryServer.liberar();
}

int Server::leerClientPid(){
	int pid;

	//Leo el pid del cliente en la memoria compartida que creo el cliente.
	  this->sharedMemoryClient.crear((char*)RUTA_ARCHIVO_CONFIGURACION_CLIENTE,'K',IPC_EXCL);
	  //Agrego el pid a mi lista de clientes.
	  pid = this->sharedMemoryClient.leer();

//	  this->sharedMemoryClient.liberar();

	  return pid;
}

int main(){
	Server* server = new Server();
	server->escribirPid();
	cout << "Server: Ya escribi mi PID!!" << endl;
	sleep(10);
	int pidClient = server->leerClientPid();
	cout << "El pid del cliente es..." << pidClient << endl;
	delete server;


	return 0;
}
